package com.yonyou.pmclouds.projectlog.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import lombok.Data;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

/**
 * 智能日志主表vo
 * @author xiejianyu
 * 2019-09-16
 */
@Data
@Table(name = "pm_project_log")
public class ProjectLogVo extends SuperVO {

    private static final long serialVersionUID = -7331293170596286102L;

    public static final String CREATOR = "creator";
    public static final String CREATOR_NAME = "creatorName";

    /**
     * 日志id
     */
    @Id
    private String pkProjectLog;

    /**
     * 租户id
     */
    private String pkTenant;

    /**
     * 项目id
     */
    private String pkProject;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目编码
     */
    private String projectCode;

    /**
     * 项目状态
     */
    private byte projectState;

    /**
     * 项目团队人数
     */
    private int projectMemberCount;

    /**
     * 签到人数
     */
    private int signInCount;

    /**
     * 项目状态名称
     */
    @Transient
    private String projectStateName;

    /**
     * 日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date logDate;

    /**
     * 施工内容
     */
    @Transient
    private List<ConstructionContentVo> constructionContent;

    /**
     * 巡查内容
     */
    @Transient
    private List<InspectionContentVo> inspectionContent;

    /**
     * 问题统计
     */
    @Transient
    private List<ProblemStatisticVo> problemStatistic;

    /**
     * 安全整改
     */
    @Transient
    private List<SafetyRectifyContentVO> safetyRectifyList;

    /**
     * 签证变更
     */
    @Transient
    private List<VisaAlterationVo> visaAlteration;

    /**
     * 其他事项
     */
    @Transient
    private List<OtherVo> other;

    /**
     * 日志来源(创建者姓名)，查询的Action返回前现查询补充
     */
    @Transient
    private String creatorName;

    private String creator;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date creationtime;
    private String modifier;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date modifytime;
}